#include"lottery_sys.h"
#include"ui.h"
/*
 该函数用于：用户的登录过程处理，其中包括新用户的注册提醒
user_login:
无返回值
参数：该用户链表头结点
user_reg:(在该函数处有解释，不加赘述)
 
 */
void user_login(Buyer_t* user_head)
{
	if(!user_head)
		return;
	Buyer_t* flag = NULL;		//用于存储重名的那个节点
	char tmpname[100] = {0};
	char tmpasswd[100] = {0};
	char reg_chose = 0;				//用于接受在未注册时，接受邀请的选择
	int three = 3;				//登录时密码不得超过三次
	printf("请输入你的帐号: ");
	scanf("%s",tmpname);
	cleaninput();
	flag = is_exists(user_head,tmpname);
	if(flag == NULL)
	{
		printf("对不起！你还注册，你返回注册！\n");
		printf("你是否返回注册（Y/N）:");
		while(1)
		{
			scanf("%c",&reg_chose);
			cleaninput();
			//printf("reg_chose = %c\n",reg_chose);
			if(reg_chose == 'y' || reg_chose == 'Y')
			{
				user_reg(user_head);
				break;
			}
			else if(reg_chose == 'n' || reg_chose == 'N')
				break;
			else 
				printf("选择方式错误，你重新选择（y/n）\n");
		}
		return;
	}
	else
	{
		while(three--)
		{
			printf("请输入你的密码: ");
			system("stty -echo");
			scanf("%s",tmpasswd);
			system("stty echo");
			cleaninput();
			if(!strcmp(flag -> B_passwd,tmpasswd))
			{
				printf("登录成功！\n");
				ctrl_buyer(user_head,flag);			//登录成功，进入用户主界面
				//free(flag);
				break;
			}
			else
			{	
				printf("\e[1;31m\t密码错误！请再次输入你的密码:\n \t\tNOTES: 登录时密码不得超过三次\n\t\t你还有%d次可以输入\n\e[0m",three);
			}
		}
		if(!three)
		{
			printf("你的密码超过你的输出次数！对不起！\n");
			free(flag);
		}
	}
	//save_user_list(user_head);
	//printf("用户链表保存成功！\n");
	//free_user_list(user_head);
}
